// pages/todoList/todoList.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //保存数据，循环数据
    todoData: [],
    //添加之后输入框清空
    addss: "",
    //保存的新数据
    uptodo: [],
  },

  //点击回车事件发起请求,添加数据库
  enter: function (event) {
    var that = this;
    console.log(event.detail.value);
    let add = event.detail.value;
    //添加数据库
    wx.cloud.database().collection("enit").add({
      data: {
        status: false,
        title: event.detail.value
      }
    }).then(res => {
      that.setData({
        addss: ""
      })
      this.look()
    })
  },

  //封装一个函数，获取数据库数据
  look: function (event) {
    var that = this;
    //获取数据库数据进行循环
    wx.cloud.database().collection("enit").get()
      .then(res => {
        //请求成功之后进行赋值
        that.setData({
          todoData: res.data,
          uptodo: res.data
        })
      })
  },
  //删除
  delTodoData: function (event) {
    //自定义属性传过来的id进行接收
    console.log(event.target.dataset.id);
    var that = this;
    //根据id删除数据
    wx.cloud.database().collection("enit").where({
        _id: event.target.dataset.id,
      }).remove()
      .then(res => {
        //调用封装函数进行刷新
        this.look()
      })
  },
  //修改状态
  changeTodo: function (event) {
    console.log(event.target.dataset.id);
    //根据id去修改状态
    wx.cloud.database().collection("enit").where({
      _id: event.target.dataset.id,
      //根据id去更新状态
    }).update({
      data: {
        status: !event.target.dataset.status
      }
    }).then(res => {
      //调用更新函数，页面刷新
      this.look()
    })
  },
  //显示全部
  allTodoData: function () {
    this.setData({
      todoData: this.data.uptodo,
    })
  },

  //未完成的
  OutTodoDate: function () {
    //进行循环uptodo的值，把未完成状态的数据给todoData
    this.setData({
      todoData: this.data.uptodo.filter(item => !item.status)
    })
  },
  //完成的
  overTodoData:function(){
     //进行循环uptodo的值，把完成状态的数据给todoData
     this.setData({
      todoData: this.data.uptodo.filter(item => item.status)
    })
  },

  //清除完成的
  destorysTodoData:function(){
    //查询数据库已完成的给删除
    wx.cloud.database().collection("enit").where({
      status:true,
    }).remove({
      //删除成功之后调用函数刷新页面
      success:res=>{
        this.look()
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //调用获取到的数据
    this.look()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})